home *** CD-ROM | disk | FTP | other *** search
/ Planet Source Code Jumbo …e CD Visual Basic 1 to 7 / 5_2007-2008.ISO / data / Zips / Small_Data2054393172007.psc / Small DB engine 2 / clsRecSet.cls < prev    next >
Text File  |  2007-02-12  |  3KB  |  138 lines

  1. VERSION 1.0 CLASS
  2. BEGIN
  3.   MultiUse = -1  'True
  4.   Persistable = 0  'NotPersistable
  5.   DataBindingBehavior = 0  'vbNone
  6.   DataSourceBehavior  = 0  'vbNone
  7.   MTSTransactionMode  = 0  'NotAnMTSObject
  8. END
  9. Attribute VB_Name = "clsRecSet"
  10. Attribute VB_GlobalNameSpace = False
  11. Attribute VB_Creatable = True
  12. Attribute VB_PredeclaredId = False
  13. Attribute VB_Exposed = False
  14. '==============================================================
  15. '       class_name        : clsRecSet
  16. '       class_version     : v. 1.0.0
  17. '       class_            : for Small Database Engine v. 2
  18. '       class_description : can store table data
  19. '==============================================================
  20.  
  21. Private strData() As String
  22. Private mRows As Long, mCols As Long
  23. Private currRow As Long
  24.  
  25. 'rows
  26. Public Property Get Rows() As Long
  27.     Rows = mRows
  28. End Property
  29. Public Property Let Rows(ByVal nV As Long)
  30.     mRows = nV
  31.     setFields
  32. End Property
  33. '
  34. 'columns
  35. Public Property Get Columns() As Long
  36.     Columns = mCols
  37. End Property
  38. Public Property Let Columns(ByVal nV As Long)
  39.     mCols = nV
  40.     setFields
  41. End Property
  42. '
  43. 'data
  44. Public Property Get Data(ByVal cRow As Long, ByVal cCol As Long) As String
  45.     If cRow > mRows - 1 Then cRow = mRows - 1
  46.     If cCol > mCols - 1 Then cCol = mCols - 1
  47.     Data = strData(cRow, cCol)
  48. End Property
  49. Public Property Let Data(ByVal cRow As Long, ByVal cCol As Long, ByVal nData As String)
  50.     If cRow > mRows - 1 Then cRow = mRows - 1
  51.     If cCol > mCols - 1 Then cCol = mCols - 1
  52.     strData(cRow, cCol) = nData
  53. End Property
  54. '
  55. 'data
  56. Public Property Get DataRow(ByVal Index As Long) As String
  57.     If currRow > mRows - 1 Then currRow = mRows - 1
  58.     If Index > mCols - 1 Then Index = mCols - 1
  59.     DataRow = strData(currRow, Index)
  60. End Property
  61. Public Property Let DataRow(ByVal Index As Long, ByVal nData As String)
  62.     strData(currRow, Index) = nData
  63. End Property
  64. '
  65. 'columns
  66. Public Property Get CurrentRow() As Long
  67.     CurrentRow = currRow
  68. End Property
  69. Public Property Let CurrentRow(ByVal nV As Long)
  70.     currRow = nV
  71.     If currRow > mRows - 1 Then currRow = mRows - 1
  72. End Property
  73. '
  74. 'eof
  75. Public Property Get EndOfData() As Boolean
  76.     EndOfData = False
  77.     If currRow > mRows - 1 Then EndOfData = True
  78. End Property
  79.  
  80. '
  81. Private Sub setFields()
  82.     'Delete strData
  83.     Erase strData
  84.     ReDim strData(mRows, mCols)
  85.     currRow = 0
  86. End Sub
  87. '
  88. Public Function NextRow() As Long
  89.     NextRow = 1
  90.     If currRow < mRows Then
  91.         currRow = currRow + 1
  92.     Else
  93.         'NextRow = EOF
  94.         NextRow = 0
  95.     End If
  96. End Function
  97.  
  98. Public Function PrevRow() As Long
  99.     PrevRow = 1
  100.     If currRow > 0 Then
  101.         currRow = currRow - 1
  102.     Else
  103.         'NextRow = EOF
  104.         PrevRow = 0
  105.     End If
  106. End Function
  107.  
  108. Public Sub FirstRow()
  109.     currRow = 0
  110. End Sub
  111.  
  112. Public Function LastRow()
  113.     currRow = mRows - 1
  114. End Function
  115. '
  116. '
  117. Public Function InsertData(ByRef cRow As Long, ByRef cCol As Long, ByRef mData As String)
  118.     If cRow > mRows - 1 Or cCol > mCols - 1 Then
  119.         ReDim Preserve strData(cRow, cCol)
  120.         mRows = UBound(strData, 1) + 1
  121.         mCols = UBound(strData, 2) + 1
  122.     End If
  123.     strData(cRow, cCol) = nData
  124. End Function
  125.  
  126.  
  127. '--------------------------------------------------------------------
  128. Private Sub Class_Initialize()
  129.     mRows = 0
  130.     mCols = 0
  131.     currRow = 0
  132. End Sub
  133.  
  134. Private Sub Class_Terminate()
  135.     Erase strData
  136. End Sub
  137.  
  138.